package com.haoniu.module.service;

import com.haoniu.module.domain.database.User;

import java.util.List;

/**
 * 用户 服务层
 *
 * @author admin
 * @date 2019-01-24
 */
public interface UserService {
    /**
     * 查询用户信息
     *
     * @param id 用户ID
     * @return 用户信息
     */
    User selectUserById(Integer id);

    /**
     * 查询用户列表
     *
     * @param user 用户信息
     * @return 用户集合
     */
    List<User> selectUserList(User user);

    /**
     * 新增用户
     *
     * @param user 用户信息
     * @return 结果
     */
    int insertUser(User user);

    /**
     * 修改用户
     *
     * @param user 用户信息
     * @return 结果
     */
    int updateUser(User user);

    /**
     * 删除用户信息
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteUserByIds(String ids);

    public int deleteUserById(Integer id);

    /**
     * 启用用户
     *
     * @param id 用户ID
     * @return 结果
     */
    public int recoverUserById(Integer id);

    /**
     * 批量启用用户
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int recoverUserByIds(String ids);


    User selectUserByPhone(String phone);

    User selectUserByNickName(String nickName);

    /**
     * 查询所有群主
     */
    public List<User> findAllRoomBoss();

    /**
     * 查询房间所有普通用户
     */
    public List<User> findAllOrdinary();

    /**
     * 设置成群主通过id
     */
    public int setUpRoomBoss(Integer userId);

    /**
     * 设置成普通用户通过id
     */
    public int setUpOrdinary(Integer userId);

    /**
     * 查询公告用户信息
     */
    List<User> findNoticeUser();

    /**
     * 查询所有用户id
     */
    List<Integer> findAllUser();

    /**
     * 查询平台用户id
     */
    List<Integer> findPingTaiUser();
}
